export default {
  // 开启命名空间
  namespaced: true,
  
  state: () => ({
    // 从本地获取数据，没有返回空对象
    address: JSON.parse(uni.getStorageSync('address') || '{}'),
    // 登录token
    token: uni.getStorageSync('token') || '' ,
    // 个人信息资料
    userinfo: JSON.parse(uni.getStorageSync('userinfo') || '{}'),
    // 重定向的数据
    redirectInfo:null
  }),
  
  mutations: {
    // 更新收货地址
    updateAddress(state,address) {
      state.address = address
      this.commit('m_user/saveAddressToStorage')
    },
    // 本地持久化存储
    saveAddressToStorage(state) {
      uni.setStorageSync('address',JSON.stringify(state.address))
    },
    // 更新个人登录信息
    updateUserInfo(state,userinfo) {
      state.userinfo = userinfo
      this.commit('m_user/saveUserInfoToStorage')
    },
    // 本地化存储个人信息
    saveUserInfoToStorage(state) {
      uni.setStorageSync('userinfo',JSON.stringify(state.userinfo))
    },
    // 更新token
    updateToken(state,token) {
      state.token = token
      this.commit('m_user/saveTokenToStorage')
    },
    // 存储跳转来的页面重定向数据
    updateRedirectInfo(state,info) {
      state.redirectInfo = info
      console.log(state.redirectInfo)
    },
    // 本地持久化存储token
    saveTokenToStorage(state) {
      uni.setStorageSync('token',state.token)
    }
  },
  
  getters: {
    // 将收货地址拼接
    addstr(state) {
      // 判断用户有没有收货地址，可以根据几个属性选择一个判断
      if(!state.address.provinceName) return ''
      return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
    }
  }
}